<?php
namespace Admin\Controller;

/**
 * 后台常用工具控制器
 */
class AdminToolController extends CommonController{
    /**
     * 闪购图片
     */
    public function fastBuyImg(){
        $this->display();
    }

    /**
     * 获取闪购图片
     */
    public function getFastImg(){
        $goods = I('goods');
        if(!is_array($goods) || empty($goods)){
            $this->ajaxError('参数错误，必须为商品ID数组');
        }
        //过滤参数
        foreach($goods as &$one){
            $temp = intval($one);
            if(empty($temp) || $temp < 0){
                $this->ajaxError('参数错误，商品ID必须为正整数');
            }
        }

        $imgs = $this->genFastBuyImg($goods);
        foreach($imgs as $key => $value){
            $result[] = array('id' => $key, 'name' => $value);
        }
        $this->ajaxSuccess('生成闪购图成功', $result);
    }
    /**
     * 生成闪购图片
     * @param  array  $goods_id_arr 商品id数组
     * @return array               以商品id为索引的闪购图路径
     */
    public function genFastBuyImg($goods_id_arr = array()){
        $share_id=1;//平台id

		Vendor('phpqrcode.ErWei');
		new \ErWei();

		$image = new \Think\Image();
		$result_share_path=array();

		foreach($goods_id_arr as $goods_id){
	    	$goods_img_path=downloadGoodsImage($goods_id);//获取商品图片
			$goods_price=M('goods')->where("goods_id=$goods_id")->getField('shop_price');//获取商品价格

			$temp_img_name=$share_id.'_'.$goods_id.'_'.intval($goods_price).'.png';//临时二维码文件名
			$temp_img_path='Public/qrcode/'.$temp_img_name;//临时二维码路径
			$share_image_path='Public/qrcode/goodsshare/'.$temp_img_name;//最终分享图片路径

			// 如果已经生成过此分享图片，直接显示,不存在则生成
			if(file_exists($share_image_path)){
				// $this->assign('shareimage',$temp_img_name);
				// $this->display();
				// exit();
				$result_share_path[$goods_id]=$temp_img_name;
				continue;
			}

			// 生成二维码
			$data='http://'.$_SERVER['HTTP_HOST'].U('Home/Index/goods',array('id'=>$goods_id,'pid'=>$share_id,'fast'=>1));//二维码数据
			\QRcode::png($data, $temp_img_path,'M',4, 0);

			// 空白画布
			$plain_img_path='Public/qrcode/plain_img.png';

			// 检查空白画布是否存在
			if(!file_exists($plain_img_path)){
				// 生成空白图片
				$plain_img=imagecreatetruecolor(550, 825);// 创建图片
				$white=imagecolorallocate($plain_img, 255, 255, 255);// 分配颜色
				imagefill($plain_img, 0, 0, $white);// 填充背景颜色
				imagepng($plain_img,$plain_img_path);// 保存空白图片
				imagedestroy($plain_img);// 回收资源
			}

			$goods_price='￥'.$goods_price.'元';

			// 合成图片
			$image->open($plain_img_path);
			$image->water($goods_img_path,array(25,25),100);//填充商品图片
			$image->water($temp_img_path,array(370,586),100);//填充商品二维码
			$image->text('购买请按住图片一秒钟，','Public/qrcode/font/msyh.ttf',14,'#353535',array(50,606));
			$image->text('选择识别二维码，','Public/qrcode/font/msyh.ttf',14,'#353535',array(50,636));
			$image->text('即可打开产品购买页面。','Public/qrcode/font/msyh.ttf',14,'#353535',array(50,666));
			$image->text($goods_price,'Public/qrcode/font/msyh.ttf',19,'#d30b28',array(45,700));
			$image->text('本二维码接入的支付页面由爵觅系统自动生成，爵觅提供正品保证与售后服务，请放心使用。','Public/qrcode/font/msyh.ttf',9,'#5a5a5a',array(25,775));
			$image->save($share_image_path,null,100); //保存图片
			// 销毁临时二维码
			@unlink($temp_img_path);

			$result_share_path[$goods_id]=$temp_img_name;
			// $result_share_path[$goods_id]=$share_image_path;
		}

        return $result_share_path;
    }

    /**
     * 下载闪购图
     */
    public function downloadShare(){
        $file = I('filename', '', 'trim');
        $share_path = 'Public/qrcode/goodsshare';
        // $share_path = 'Public/images';
        $file = $share_path . '/' . $file;

        if(!file_exists($file)){
            exit($file.' 文件不存在');
        }

        header('content-disposition:attachment;filename='. basename($file));
        header('content-length:'. filesize($file));

        readfile($file);
    }
}
